// 1. 获取数据库引用
const db = wx.cloud.database().collection("memory");
var Time = {
  // 获取当前时间戳
  getUnix: function () {
    var date = new Date();
    return date.getTime();
  },

  // 获取今天 0 点 0 分 0 秒的时间戳
  getTodayUnix: function () {
    var date = new Date();
    date.setHours(0);
    date.setMinutes(0);
    date.setSeconds(0);
    date.setMilliseconds(0);
    return date.getTime();
  },

  // 获取今年 1月 1 日 0 点 0 分 0 秒的时间戳
  getYearUnix: function () {
    var date = new Date();
    date.setMonth(0);
    date.setDate(1);
    date.setHours(0);
    date.setMinutes(0);
    date.setSeconds(0);
    date.setMilliseconds(0);
    return date.getTime();
  },

  // 获取标准年月日
  getLastDate: function (time) {
    var date = new Date(time);
    var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
    var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
    return date.getFullYear() + '-' + month + '-' + day;
  },

  // 转换时间
  getFormatTime: function (timestamp) {
    var now = this.getUnix();
    var today = this.getTodayUnix();
    var year = this.getYearUnix();
    var timer = (now - timestamp) / 1000;
    var tip = "";

    if (timer <= 0) {
      tip = "刚刚";
    } else if (Math.floor(timer / 60) <= 0) {
      tip = "刚刚";
    } else if (timer < 3600) {
      tip = Math.floor(timer / 60) + "分钟前";
    } else if (timer >= 3600 && (timestamp - today >= 0)) {
      tip = Math.floor(timer / 3600) + "小时前";
    } else if (timer / 84600 <= 31) {
      tip = Math.ceil(timer / 86400) + "天前";
    } else {
      tip = this.getLastDate(timestamp);
    }

    return tip;
  }
}
Page({

  /**
   * 页面的初始数据
   */
  data: {
    data: [],
    userinfo: '',
    id: '',
    cName:"",
    comment:"",
    show: true,
    file_id:''
  },
  //获取输入内容
  nameInput(e){
    this.setData({
      cName:e.detail.value
    })
  },
  commentInput(e) {
    this.setData({
      comment: e.detail.value
    })
  },
   //唤起遮罩
  showComment(e){
    this.setData({
      show:false,
      file_id:e.currentTarget.dataset.mark
    })
  },
   //取消遮罩
  cancelComment(e){
    this.setData({
      show:true
    })
  },
//提交评论
submitComment(){
  if(this.data.cName.trim()==''||this.data.comment.trim()==''){
    wx.showToast({
      title: '输入不能为空',
      icon:"none"
    })
    return
  }
  let content = {
    name:this.data.cName,
    value:this.data.comment
  };
  let old = [];
  this.data.data.forEach((item,index)=>{
    if(item._id===this.data.file_id){
       old = item.comment;
       old.push(content);
    }
  });

  db.doc(this.data.file_id).update({
    data:{
      comment:old
    }
  })
  wx.showToast({
    title: '评论成功',
  });
  this.setData({
    show:true
  })
  this.get_data();
},
  // 点击轮播图 放大预览
  handlePrevewImage(e) {
    // 1 先构造要预览的图片数组 
    const urls = e.currentTarget.dataset.all;
    // 2 接收传递过来的图片url
    const current = e.currentTarget.dataset.url;
    
    wx.previewImage({
      current,
      urls
    });

  },
  //获取页面数据
  get_data() {

    var id = this.data.id;
    
      wx.cloud.callFunction({
        name: "get_message",
        data: {
          db_name: "memory",
          id
        },
        success: res => {
         // console.log(res)
          var data = [...res.result.data].reverse();
          wx.hideLoading();
          if (data.length == 0) {
            wx.showToast({
              title: '快来发表你的第一篇日记吧',
              duration:3000,
              icon: "none"
            })
            
          }
          data.forEach(item=>{
            item.time = Time.getFormatTime(item.time);
          })
          this.setData({
            data,
          });
        },
        fail: err => {
          wx.hideLoading();
          wx.showToast({
            title: '请求数据失败',
            icon: 'none',
           
          });
        }
      })
    
  },
//删除朋友圈
delete(e){

  wx.showModal({
    title: '提示',
    content: '您确定要删除？',
    success:(res) =>{
      if (res.confirm) {
        console.log('用户点击确定')
        //
        var { index, id, img } = e.currentTarget.dataset;
        db.where({ _id: id }).remove({
          success: () => {
            console.log("删除成功");
            var data = this.data.data;
            data.splice(index, 1);
            this.setData({
              data
            })
            //删除云端的图片
            wx.cloud.deleteFile({
              fileList: img,
              success: res => {
                // handle success
                console.log("成功删除云端的图片");
                wx.showToast({
                  title: '删除成功',
                })
              },
              fail: console.error
            })
          },
          fail: err => {
            wx.showToast({
              title: '删除失败',
              icon: 'none'
            });
          }
        })
        //
      } else if (res.cancel) {
        
       // console.log('用户点击取消')
      }
    }
  })
  
  

},
  /**
     * 生命周期函数--监听页面加载
     */
  onLoad: function (options) {
    
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
    var userinfo = wx.getStorageSync("userinfo") || '';
    var id = wx.getStorageSync("id") || '';
    this.setData({
      userinfo,
      id
    });
    //如果用户登录了，就初始化数据
    if (userinfo) {
      wx.showLoading({
        title: '加载中...',
      })
      this.get_data();
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.onShow();
    setTimeout(function () {
      wx.stopPullDownRefresh();
    }, 1500)

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    wx.showToast({
      title: '没有更多数据啦',
      icon: "none"
    }) 
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})